*[data-tooltip] {
  position: relative;

  &:hover {

    &:before,
    &:after {
      display: block;
      z-index: 1000;
      transition: opacity .01s ease;
      transition-delay: .2s;
    }

    &:after {
      opacity: 1;
    }

    &:before {
      transform: translate(-50%, 0);
      opacity: 1;
    }
  }

  &:before {
    opacity: 0;
    transform: translate(-50%, 0);
    position: absolute;
    top: 33px;
    left: 50%;
    z-index: 3000;
    content: attr(data-tooltip);
    background: fadeout(#111, 5%);
    font-size: .7rem;
    border: 0;
    border-radius: 4px;
    padding: 7px 10px;
    color: rgba(255,255,255,.925);
    text-transform: none;
    text-align: center;
    font-weight: 300;
    white-space: pre;
    line-height: 1;
    pointer-events: none;
  }

  &:after {
    opacity: 0;
    position: absolute;
    left: ~"calc(50% - 6px)";
    top: 28px;
    content: '';
    width: 0;
    height: 0;
    border-left:  6px solid transparent;
    border-right: 6px solid transparent;
    border-bottom: 6px solid fadeout(#111, 5%);
    pointer-events: none;
  }
}